_after_ updating guest time (since otherwise pt_reset() will get the
old hvm_get_guest_time() and subsequently pt_intr_post() will warp
the TSC back again).
This is the smallest fix for the HVM SMP TSC issues seen on recent
(viz. 2.6.18+) linux HVM kernels, but probably not the best. Cleaner
fix needs more thought.
Signed-off-by: Steven Hand <steven@xensource.com>
switch (ecx)
{
case MSR_IA32_TIME_STAMP_COUNTER:
- pt_reset(v);
hvm_set_guest_time(v, msr_content);
+ pt_reset(v);
break;
case MSR_IA32_SYSENTER_CS:
vmcb->sysenter_cs = msr_content;
switch (ecx) {
case MSR_IA32_TIME_STAMP_COUNTER:
- pt_reset(v);
hvm_set_guest_time(v, msr_content);
+ pt_reset(v);
break;
case MSR_IA32_SYSENTER_CS:
__vmwrite(GUEST_SYSENTER_CS, msr_content);